﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using LView.CMS.Models;
using LView.CMS.ViewModels;
using LView.CMS.ViewModels.Manager;

namespace LView.CMS.IServices
{
    public interface IManagerService
    {
        Task<TableDataModel> LoadDataAsync(ManagerRequestModel model);

        Task<BaseResult> AddOrModifyAsync(ManagerAddOrModifyModel model);

        Task<LMSManager> GetManagerByCondition(ManagerAddOrModifyModel model);

        Task<BaseResult> DeleteIdsAsync(string[] Ids);

        Task<BaseResult> ChangeLockStatusAsync(ChangeStatusModel model);

        Task<LMSManager> SignInAsync(LoginModel model);

        Task<BaseResult> ChangePasswordAsync(ChangePasswordModel model);

        Task<LMSManager> GetManagerByIdAsync(string id);

        Task<List<LMSManager>> GetManagerByRoleid(string roleId);

        Task<LMSManager> GetManagerContainRoleNameByIdAsync(string id);

        Task<BaseResult> UpdateManagerInfoAsync(ChangeInfoModel model);
    }
}
